package main

import "fmt"

func main() {
	s := make([]byte, 5)
	fmt.Printf("s: len %d  cap %d \n", len(s), cap(s))

	s1 := s[2:4]
	fmt.Printf("s1: len %d  cap %d \n", len(s1), cap(s1))

	s2 := []byte{'p', 'o', 'e', 'm'}
	s3 := s2[2:]
	fmt.Printf("s3: value %s \n", s3)

	s3[1] = 't'

	// poet
	fmt.Printf("s2: value %s \n", s2)
	// et ，s3[1] = 't' 相当于是，em 中的 m 换成 t。
	// 但是因为 m 是指针，所以影响了 s2 中的 m 。s2 就变成了 poet
	fmt.Printf("s3: value %s \n", s3)

}
